#ifndef _SOCKET_H
#define _SOCKET_H

#include <iostream> //标准输入输出库
#include <cstring>  //字符串处理库
#include <string>   //字符串库
#include <unistd.h> //unistd.h头文件包含了一些UNIX系统调用
#include <arpa/inet.h>  //arpa/inet.h头文件包含了一些网络相关的函数
#include <sys/types.h>  //sys/types.h头文件包含了一些系统数据类型
#include <sys/socket.h> //sys/socket.h头文件包含了套接字相关的函数
#include <netinet/in.h> //netinet/in.h头文件包含了一些常用的IP地址相关的函数
#include <arpa/inet.h>  //arpa/inet.h头文件包含了一些网络相关的函数

#define SERIP "112.124.33.221" //服务器IP地址
using namespace std;

/*
1、int socket；//套接字
2、int port；   //端口号
3、sockaddr_in server_addr； //服务器地址
4、sockaddr_in client_addr； //客户端地址
5、int addrlen = sizeof(client_addr)； //地址长度
6、char message[1024]； //消息缓冲区
7、int n； //接收到的字节数
8、int ret； //返回值

*/

class TCP_CLient_Socket {
private:
    int sockfd; //套接字
    int port;   //端口号
    string ip;  //ip地址
    sockaddr_in server_addr = {AF_INET,htons(12345),inet_addr(SERIP)}; //服务器地址
public:
    TCP_CLient_Socket();
    ~TCP_CLient_Socket();
    //TCP_CLient_Socket(int _port);
    bool server_con();
    void send_message(string message);
    //string rece_message();
    void rece_message();
};





#endif



#if 0
class Socket {
private:
    string ip;  //ip地址
    int port;   //端口号
    int sockfd; //套接字
    sockaddr_in server_addr = {AF_INET,htons(12345),inrt_addr(SERIP)}; //服务器地址
    //sockaddr_in server_addr; //服务器地址
public:
    Socket(int _port);
};


class ClientSocket : public Socket {
public:
    ClientSocket(int port);
    connect(string ip, int port);
    send(string message);
    receive();
};
#endif